package com.xcx.baseManger.service;

import com.xcx.commoncore.entity.aclentity.AclUser;
import com.baomidou.mybatisplus.extension.service.IService;
import com.xcx.commoncore.request.aclrequest.userrequest.GetUserByOpenidRequest;
import com.xcx.commoncore.request.aclrequest.userrequest.UpdateUseChooseRequest;
import com.xcx.commoncore.request.aclrequest.userrequest.UpdateUseDetailsRequest;
import com.xcx.commoncore.request.aclrequest.userrequest.UpdateUseRequest;
import com.xcx.commoncore.request.logrequest.LogRequest;
import com.xcx.commoncore.request.logrequest.LoginMobileRequest;
import com.xcx.commoncore.request.logrequest.RegisterMobileRequest;
import com.xcx.commoncore.request.logrequest.RegisterRequest;
import com.xcx.commonuntils.returnuntls.ReturnMessage;

/**
 * <p>
 * 用户表 服务类
 * </p>
 *
 * @author testjava
 * @since 2021-10-22
 */
public interface AclUserService extends IService<AclUser> {

    ReturnMessage<Object> register(RegisterRequest registerVo);

    ReturnMessage<Object> login(LogRequest loginVo);

    ReturnMessage<Object> getByOpenid(GetUserByOpenidRequest request);

    ReturnMessage<Object> updateBaseInfo(UpdateUseRequest request);

    ReturnMessage<Object> updateDetailInfo(UpdateUseDetailsRequest request);

    ReturnMessage<Object> updateChooseInfo(UpdateUseChooseRequest request);

    ReturnMessage<Object> updateUserFileIndex(String username, String filePath);

    ReturnMessage<Object> registerMobile(RegisterMobileRequest registerVo);

    ReturnMessage<Object> loginWx(LoginMobileRequest loginVo);

    ReturnMessage<Object> removeByMobile(String mobile);
}
